Git日常常用命令汇总

记录git日常常用命令


查看提交和提交的描述

最近的一些提交:
git log
不想在vim中打开:git log | cat (用cat更方便)

最后一次提交:
git log -n 1 | cat

最后一次提交所有更改过的文件:
git log -n 1 –stat | cat

最后一次提交所有更改的细节:
git log -n 1 -p | cat

删除文件

git rm file1.txt
git commit -m “remove file1.txt”

But if you want to remove the file only from the Git repository and not remove it from the filesystem, use:

git rm –cached file1.txt
git commit -m “remove file1.txt”

And to push changes to remote repo:
git push origin branch_name

获取最新代码

git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地

重命名文件

git mv reademe.txt readme

撤销commit

如果不小心commit了一个不需要commit的文件,可以对其进行撤销。
先使用git log 查看 commit日志
找到需要回退的那次commit的 哈希值

git reset --hard <commit_id>

git push origin HEAD --force

拉取自己的代码库,可push

$ git clone git@github.com:myname/myrepository.git

拉取代码库,不可直接push

$ git clone git://github.com/myname/myrepository.git

常用三剑客命令,add commit push

$ git add .
$ git commit -m "add files" .
$ git push origin master

查看本机github配置

$ git config --list

设置本机github用户名与邮箱

$ git config --global user.name "Your Name"
$ git config --global user.email yourmail@example.com

测试git连接是否正常

$ ssh -T git@github.com

生成公钥和密钥

$ ssh-keygen -t rsa -C "yourmail@example.com"

冲突后强制覆盖掉本地

$ git reset --hard
$ git pull