git 常用命令
Windows git 初始化设置:
$ git config --global user.name "Firstname Lastname" $ git config --global user.email "your_email@example.com"
GitHub 上连接已有仓库时的认证。
$ ssh-keygen -t rsa -C "your_email@example.com" Generating public/private rsa key pair. Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa): 按回车键 Enter passphrase (empty for no passphrase): 输入密码 Enter same passphrase again: 再次输入密码
生成秘钥和公钥:
Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa. Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub. The key fingerprint is: fingerprint值 your_email@example.com The key's randomart image is:
将公钥 ~/.ssh/id_rsa.pub 粘贴到:settings -> SSH and GPG keys -> New SSH Key ,保存即可。添加好后会收到一封邮件。
客户端连接GitHub仓库:
$ ssh -T git@github.com The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is fingerprint值 . Are you sure you want to continue connecting (yes/no)? 输入yes
然后就可以向仓库中提交代码了。
在 ~/.gitconfig 文件中:这个文件在 windows的用户目录中。
[user] name = Firstname Lastname email = your_email@example.com
常用git命令:
本地初始化仓库并提交到gitHub:创建仓库时必须为一个空仓库
# 初始化本地仓库 git init # 添加远程仓库 git remote add origin https://github.com/yourusername/repo.git # 1. 确保当前在 master 分支 git branch # 2. 创建并切换到 main 分支 git checkout -b main # 3. 删除旧的 master 分支(可选) git branch -d master # 4. 拉取远程 main 分支最新内容(防止冲突) git pull origin main # 5. 添加本地文件并提交(如果有新内容) git add . git commit -m "初次提交" # 6. 推送并关联分支 git push -u origin main
日志:
查看提交日志:到某个仓库目录下执行git log 即可看到提交的日志。
git log
显示短日志:只显示提交日志的第一行
git log --pretty=short
只显示指定文件的日志:
git log README.md
查看提交的改动信息:可以看到提交前后的区别
git log -p
查看具体文件的改动:
git log -p README.md
查看当前工作树与暂存区的差别:暂存区就是commit 了但是还没push 的文件。
git diff git diff README.md diff --git a/README.md b/README.md index 5ad28e2..05a98d5 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -haha +ha
查看本次提交与上次提交的区别:提交之前执行,HEAD 是指向当前分支中最新一次提交的指针。
git diff HEAD
分支
显示分支:
git branch
创建并切换到分支:
方法一:
git checkout -b demo-0.1
方法二:
$ git branch demo-0.1 #创建分支 $ git checkout demo-0.1 #切换到分支
查看当前所在分支:有 * 号的表示在当前分支。
]# git branch master * demo-0.1
可以切换到新分支添加内容提交后再到master分支上,master分支上的内容没有受到影响。
切换回上一个分支:“-”(连字符)
git checkout -
分支是用来开发某一个功能的,一个功能一个分支然后合并。
替换master分支:
git branch -m master 1.0 # 重命名老master分支 git push -f origin 1.0 # 分支同步到远程 git branch master # 创建新master分支 git checkout master # 切换到master分支 git push -f origin master # 修改或添加文件后上传新master分支
合并分支:
切换到要合并的分支:
git checkout master
创建合并提交:打开的编辑器保存即可,然后会自动合并。
git merge --no-ff demo-1.1
以图表的形式查看分支:
git log --graph
恢复到之前的分支:
git reset --hard 3444909135bce119e28531b9e8b712e16833001b
修改master分支:
删除远程分支:
git push origin --delete master
删除本地分支:
git branch --delete master
本地创建master分支并将远程1.0的分支作为本地master的内容:
git checkout -b master origin/1.0
将新的分支推送到远程:
git push origin master:master
重命名分支:
git branch -m oldbranch newbranch # 复制老分支到新分支 git push -f origin 2.0 # 推送新分支 git push -f origin master
推送到远程仓库:
将本地仓库推送到远程:要在远程建一个空仓库,没有任何文件。
echo "This is readme">> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:zhuqiyang/chuxiangyi.git git push -u origin master
.gitignore不起作用:
新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:
git rm -r --cached . git add . git commit -m 'update .gitignore'
commit id:获取提交ID
$ git rev-parse HEAD 3b592a040f5eeba919a355d00e71fd48888ac125 $ git rev-parse --short HEAD 3b592a04
git 设置代理:
www.cnblogs.com/mymelody/p/6132728.html
git创建分支:
查看远程分支:
git branch -r
查看所有分支:
git branch -a
重命名master分支为其他分支:
git branch -m master 0.1
创建master分支:
git branch master
推送分支:
git add --all git commit -m "change branch" git push origin 0.1 ... git push origin master
删除远程分支:
git 删除远程分支
查看远程分支:
git branch -a
删除远程分支:
git push origin --delete <branchName>