git常用的命令

一、安装
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update

sudo apt-get install git
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

由于在windows 上看多了英文的git status结果,先在Ubuntu中将中文改成英文:

echo "alias git='LANG=en_GB git'" >> ~/.bashrc

二、建立本地仓库
首先,需要在本地进行操作,进入工程目录,操作系统的命令不再赘述。

到达当前目录之后,建立本地仓库,输入以下命令,物理上建立一个.git的隐藏目录。

git init

三、版本控制 -本地仓库
在本地,有三个位置,自底向上分别为:
工作区
stage
master
工作区就是操作系统下正常的工作目录,是所见所得的一个位置;stage和master都属于repository,是不可见的一个位置。

git status //用于查询当前目录的状态,反馈回的信息很详尽
git log //查看commit的各个版本
git log --pretty=oneline //同上,初略显示,只显示一行

git add <file>... //把工作区的更改提交到stage
git rm <file>...  //删除文件,把工作区的删除文件提交到stage
git commit -m "版本名" //将工作区的更改提交到master分支,本地的最高层

git reset --hard HEAD^ //回退到上一个版本
git reset --hard HEAD^^^ //回退到上三个版本
git reset --hard HEAD~100 //回退到上100个版本
git reset --hard <版本id>  //回退到这个id版本

git reset HEAD <file>...  //撤销该文件的git add提交

git checkout -- <file>... //清除工作区这个文件的更改,恢复到最近一次git add或者git commit时的情形

四、创建与合并分支
HEAD指针永远指向当前分支。

git branch //查看当前分支
git branch dev //创建一个名字为dev的分支
git checkout dev //转向一个名字为dev分支
git checkout -b dev //创建并转向一个名字为dev的分支,相当与上面两条命令之和

git merge dev //合并dev到当前分支
git branch -d dev //删除dev分支
git branch -D dev //强制删除dev分支

五、远程仓库

首先,讲ssh的公钥添加到github上去,生成公钥的方法:

//建立ssh,将公钥添加到github账户,建立本地公钥的方法为
ssh-keygen -t rsa -C "youremail@example.com"

六、查询

//查询远程库信息
git remote
//详细信息
git remote -v

clone

//从github上下载一个仓库
git clone git@github.com:name/peoject.git

//注意默认是master分支,并默认关联本地与远程origin;如需需要其他分支,则:
git checkout -b dev origin/dev

//之后push
git push origin dev

push和pull

最一般的push

git push origin branch-name

如果因为有别人的提交或者其他的一些原因产生问题,可以pull一下,是自己本地库最新,之后在push

 git pull

若出现fatal: refusing to merge unrelated histories问题,参考https://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories

git pull origin master --allow-unrelated-histories

同步:

//在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致;
git checkout -b branch-name origin/branch-name
//建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name

转:(https://blog.csdn.net/denao/article/details/77726646)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容