linux git学习记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/roach_zfq/article/details/53539927

看了廖雪峰老师的教程,这里总结记录一下。

git init    //初始化一个空的仓库在当前文件夹下

git add xxx.txt yyy/ .zzz/       //可以依次add几个文件,可以add一个文件夹,会自动把文件夹下的所有东西都add

git commit -m"comment"     //将staged的changes commit到仓库的某个分支

git status                            //随时可以查看当前工作区/暂存区/master之间的差异状态

git diff xxx.txt             //比较工作区和master?之间的区别?没搞清楚比较哪个和哪个......

git diff HEAD -- xxx.txt   //比较工作区和版本库的区别

git log               //可以查看commit的历史记录

git reflog         // 查看版本改动情况

git reset --hard HEAD^   //回到上一次commit后的状态

git reset --hard HEAD~100   //回到上100次commit后的状态

git reset --hard commit_id(版本号)   //回到该commit_id后的状态

git checkout -- xxx.txt    //让xxx.txt回到最近一次git add或git commit的状态,也就是说如果暂存区没有changes,就直接回到版本库的状态,如果暂存区有changes没提交,那就回到暂存区那个状态

git reset HEAD xxx.txt   //让xxx.txt回到暂存区的状态,并撤销暂存区的修改,HEAD表示最新版本的意思,这句话执行完了看git status,暂存区是空的,工作区相比版本库肯定有修改

git rm xxx.txt //删除某个文件,与add同级的命令,都将这个增加或删除先放到暂存区,接着执行git commit可以提交到版本库上,就真的删啦

git remote add origin [email protected]:userName/respositoryName.git   //将本地这个仓库和远程的某个仓库关联起来,origin表示远程库的名字,这个地址也可以用http://....,不过使用https除了速度慢。。?

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

git push origin master //随时使用,将本地master推送到远程库的master

git push origin 分支名 //将本地分支名的分支推送到远程库的分支名分支

git branch --set-upstream dev origin/dev //将本地dev分支与远程origin/dev分支关联起来

git checkout -b branch-name origin/branch-name   //在本地创建和远程分支对应的分支

git checkout -b dev //创建分之dev并切换到dev分支

git branch //查看当前分支

git checkout 分支名 //切换到某个分支

git merge 分支名 //merge

git branch -d 分支名 //删除某分支


猜你喜欢

转载自blog.csdn.net/roach_zfq/article/details/53539927