git使用技巧

2019-01-02  本文已影响0人  养猫的哈士奇_杨柳

1.初始化自己的git项目

mkdir firstGit
cd firstGit
git init

在firstGit下创建自己的文件然后执行如下提交操作

git add 你的文件名
git commit -m '修改描述'

查看修改记录:

git log
或是
git reflog

查看当前的状态包括冲突状态:

git status

版本回退:

git reset --hard HEAD^   // 回退到上一个版本
 git reset --hard HEAD^^   // 回退到上上个版本
git reset --hard HEAD~100   // 回退到上100个版本
git reset --hard 版本号// 1094a应为git log中需要回退的制定版本的版本号

当你改乱了工作区某个文件的内容企且未提交到暂存区时,想直接丢弃工作区的修改时,用命令

git checkout -- 文件名  

当你改乱了工作区某个文件的内容企且提交到暂存区时,想丢弃刚才的修改时,用命令

git reset HEAD 文件名 // 撤销暂存区的文件修改
git checkout --文件名  // 丢弃当前工作区的修改

删除文件:

git rm 文件名 // 删除文件
git commit -m '描述' // 将删除操作添加进去

远程库 github
连接github

 git remote add origin git@github.com:michaelliao/learngit.git
// 其中origin为远程库的名字,michaelliao为你的github名字,learngit.git为你的项目名称

将内容推送到github

git push -u origin master
//由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git
//不但会把本地的master分支内容推送的远程新的master分支,还会把本地
//的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从现在起只要本地做了修改,只需要执行如下命令,便可以将本地修改提交到远程库

git push origin master

从远程库克隆项目

git clone git@github.com:michaelliao/learngit.git
 // git@后跟的是在github上的项目地址(ssh)
//还可以跟https地址,但是速度回相对变慢

分支管理
查看分支:

git branch

创建分支:

git branch <name>

切换分支:

git checkout <name>

创建+切换分支:

git checkout -b <name>

合并某分支到当前分支:

git merge <name>
//使用Fast forward模式进行合并,无合并记录

删除分支:

git branch -d <name>
git merge --no-ff -m "merge with no-ff" <name>
 //准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward,有合并记录

保存当前现场的工作状态,(适用于临时解决其他bug需要新建一个分支的情况)

git stash // 保存当前现场,使用git status就不会看到有任何需要提交的文件

查看保存的现场列表

git stash list

恢复到制定的现场

git stash apply 现场列表的某个列的名称

但是执行上面的命令后,stash并没有删除需要执行如下命令删除

git stash pop 现场列表的某个列的名称

如果只有一个保存现场

git stash pop // 即可实现恢复现场并删除列表信息

将远程主机的某个分支拉去过来与本地分支合并

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master:brantest

拉取远程主机的内容

git fetch <远程主机名> <分支名>// 拉取分支brantest分支的内容
git fetch origin dev // 拉取分支dev上的内容
git fetch //拉取所有的分支更新

windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法:

 git config --global core.autocrlf false  //禁用自动转换  
上一篇下一篇

猜你喜欢

热点阅读