git的一些基本命令

1、创建一个新的仓库:(选择一个合适的地方,创建一个空目录)
1 $mkdir learngit       //learngit是用git新建的一个目录
2 $cd learngit
3 $pwd       //pwd命令用于显示当前目录
 
2、通过git init命令把这个目录编程git可以管理的仓库:
$git init
 
3、用git add把文件添加到仓库: (可以一次add多个文件,可反复使用,添加多个文件,其实质是把文件添加到“工作区”的“暂存区”)
1 $git add **                 //**是文件名
 
4、用git commit告诉git,把文件提交到仓库,其实质是把文件添加到“分支区”:
1 $git commit -m “**说明内容**”         //-m后面输入的是本次提交的说明        
 
5、$git status命令可以随时掌握工作区状态
1 $git status      //告诉你有文件被修改过
2 $git diff      //可以查看修改内容
 
6、$git log 可以告诉我们历史记录,当前的仓库状态 (--pretty=oneline参数可以把历史记录整合到一行)
1 $git log                    //告诉我们历史记录
7、HEAD表示当前的版本,上一版本就是HEAD^,上上一个版本就是HEAD^^,上100个版本就是HEAD~100
 
8、$git reset --hard HEAD^ //退回到上一个版本,如果--hard 后面是跟commit id,就可回到该id所对应的状态
1 $git reset --hard HEAD^     
 
9、查看该文件的内容
1 $cat **             //**是文件名
 
10、 查看命令历史
1 $git reflog             //以便确定要回到未来的哪个版本
 
11、撤销修改:
1 $git checkout -- **                //把**文件在工作区的修改全部撤销
  ①一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  ②一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
 
12、删除文件:
1 $rm **             //删除工作区的文件
2 $git rm             //删除工作区、暂存区的文件
3 $git commit             //删除分支的文件
 
13、添加远程库:
1 $git remote add origin git@server-name:path/repo-name.git             //关联一个远程仓库
2 $git push -u origin master              //第一次推送master分支的所有内容
3 $git push origin master              //此后,每次本地提交后,只要有必要,使用此命令推送最新修改
 
14、从远程库克隆:
1 $git clone ***           //***是远程仓库地址
2 $cd *filename*
3 $ls
 
15、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合并看不出来曾经做过的合并
 
16、多人协作:
  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。
 
posted @ 2017-07-17 17:45  yuequanling  阅读(202)  评论(0编辑  收藏  举报