Git常用的一些指令

449 阅读1分钟

创建一个新的仓库:(选择一个合适的地方,创建一个空目录)

1 $mkdir newsdata //newsdata是用git新建的一个目录
2 $cd newsdata

通过git init命令把这个目录编程git可以管理的仓库:

$git init

用git add把文件添加到仓库: (可以一次add多个文件,可反复使用,添加多个文件,其实质是把文件添加到“工作区”的“暂存区”)

$git add ** //.是全部//**是文件名

用git commit告诉git,把文件提交到仓库,其实质是把文件添加到“分支区”:

$git commit -m “**说明内容**” 

$git status命令可以随时掌握工作区状态

1 $git status//告诉你有文件被修改过
2 $git diff//可以查看修改内容

$git log 可以告诉我们历史记录,当前的仓库状态

$git log 

HEAD表示当前的版本,上一版本就是HEAD^,上上一个版本就是HEAD^^,上100个版本就是HEAD~100,$git reset --hard HEAD^ //退回到上一个版本,如果--hard 后面是跟commit id,就可回到该id所对应的状态

$git reset --hard HEAD^  

查看该文件的内容

$git reflog   

添加远程库:

1 $git remote add origin git@server-name:path/repo-name.git //关联一个远程仓库
2 $git push origin master              //此后,每次本地提交后,只要有必要,使用此命令推送最新修改

从远程库克隆:

1 $git clone *** //***是远程仓库地址
2 $cd *filename*
3 $ls

git中与分支相关:

1 $git branch             //查看分支
2 $git branch <name>             //创建分支
3 $git checkout <name>             //切换分支
4 $git checkout -b <name>              //创建+切换分支
5 $git merge -b <name>              //合并某分支到当前分支
6 $git branch -d <name>             //删除分支
7 $git log --graph             //查看分支合并图
8 $git merge --no-ff -m "说明" <name>              //可以用普通模式合并,合并后的历史有分支,能看出来曾经做过的合并,二fastforward合并看不出来曾经做过的合并

多人协作:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
  5. 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。