git常用命令
工作流程
git本地与远程连接
git init //可以生成一个.git文件夹
//绑定到你刚才新建的仓库地址,如果没被占用则直接绑定
git remote add origin git@gitee.com/username/hello.git
git remove -v //查看其是否已绑定远端仓库
git remote rm origin //删除这个远程仓库占用
git分支拉取与切换
/查看远程分支
git branch -r
//创建本地分支并关联
git checkout -b 本地分支 origin/远程分支
//已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名 本地分支名
//拉取
git pull
设置用户名密码
git config --global user.name yinjing
git config --global user.name yinjing@szkj.com
git commit --amend --reset-author
gerrit设置ssh
ssh-keygen -t rsa -C ckdevops@163.com
连续三次回车键,会在home/john/.ssh下生成公钥id_rsa.pub 和私钥 id_rsa,其中公钥需要添加到gerrit的SSH Public Keys中
git暂存
git stash save "注释"
-a 慎用:会把隐藏的文件或.gitnore忽略的文件也暂存
-u 推荐:只暂存未跟踪的文件
git stash list //查看之前缓存得所有的stash
//以下命令不带stash号则默认操作第一条
git stash show stash@{0} //查看stash0修改了哪些文件
git satsh show -p 'stash@{0}' //查看stash0修改文件里面的具体内容
git stash apply stash@{0} //从暂存区取出但不在stash list中删除
git stash drop stash@{0} //删除暂存区的stash0
git stash pop stash@{0} //从暂存区取出并且在stash list里面删除
git stash clear //清空stash list
git tag标签
git push origin master不会把标签推送到服务器
在标签上不处于任何分支,业也无版本回退,不能在tag上修改
git tag -a tag_name -m "tag注释" //添加注释
git tag list //查看所有标签
git push origin --tags //提交所有tag至服务器
git push origin tag_name //提交tag_name至服务器
git checkout tag_name //切换标签
git show tag_name //查看某个标签的信息
git tag -d tag_name //删除某个标签
git push origin :refs/tag/tag_name //删除远程服务器标签
git撤销修改
-
尚未git add
git checkout filename //撤销某个文件的修改 git checkout . //撤销所有文件的修改,放弃所有的修改 git checkout只能撤销尚未add到暂存区的修改文件,不能撤销暂存区的文件、添加和删除的文件 git clean -f filename //放弃本地添加或删除的文件
-
已经add
//修改/新增了一堆文件,已经git add到暂存区,想放弃修改 git reset [HEAD] filename git reset [HEAD] . git restore --staged filename
-
已经add、commit,尚未push,想撤销此次commit
git reset commit_id //将本地仓库重置为需要撤销的版本 git reset --hard commit_id //强制远程仓库与本地仓库一致
-
撤销git push到远程的代码(慎用)
git reset -hard [commit_id] git push origin -f //撤销commit注释(修改commit注释) 最近一次提交 git commit --amend -m "备注信息" //覆盖上次信息合并为一次提交
出现的问题
问题1:出现yes/no
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
git本地与远程连接
git init //可以生成一个.git文件夹
//绑定到你刚才新建的仓库地址,如果没被占用则直接绑定
git remote add origin git@gitee.com/username/hello.git
git remove -v //查看其是否已绑定远端仓库
git remote rm origin //删除这个远程仓库占用
git分支拉取与切换
/查看远程分支
git branch -r
//创建本地分支并关联
git checkout -b 本地分支 origin/远程分支
//已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名 本地分支名
//拉取
git pull
设置用户名密码
git config --global user.name yinjing
git config --global user.name yinjing@szkj.com
git commit --amend --reset-author
gerrit设置ssh
ssh-keygen -t rsa -C ckdevops@163.com
连续三次回车键,会在home/john/.ssh下生成公钥id_rsa.pub 和私钥 id_rsa,其中公钥需要添加到gerrit的SSH Public Keys中
git暂存
git stash save "注释"
-a 慎用:会把隐藏的文件或.gitnore忽略的文件也暂存
-u 推荐:只暂存未跟踪的文件
git stash list //查看之前缓存得所有的stash
//以下命令不带stash号则默认操作第一条
git stash show stash@{0} //查看stash0修改了哪些文件
git satsh show -p 'stash@{0}' //查看stash0修改文件里面的具体内容
git stash apply stash@{0} //从暂存区取出但不在stash list中删除
git stash drop stash@{0} //删除暂存区的stash0
git stash pop stash@{0} //从暂存区取出并且在stash list里面删除
git stash clear //清空stash list
git tag标签
git push origin master不会把标签推送到服务器
在标签上不处于任何分支,业也无版本回退,不能在tag上修改
git tag -a tag_name -m "tag注释" //添加注释
git tag list //查看所有标签
git push origin --tags //提交所有tag至服务器
git push origin tag_name //提交tag_name至服务器
git checkout tag_name //切换标签
git show tag_name //查看某个标签的信息
git tag -d tag_name //删除某个标签
git push origin :refs/tag/tag_name //删除远程服务器标签
git撤销修改
-
尚未git add
git checkout filename //撤销某个文件的修改 git checkout . //撤销所有文件的修改,放弃所有的修改 git checkout只能撤销尚未add到暂存区的修改文件,不能撤销暂存区的文件、添加和删除的文件 git clean -f filename //放弃本地添加或删除的文件
-
已经add
//修改/新增了一堆文件,已经git add到暂存区,想放弃修改 git reset [HEAD] filename git reset [HEAD] . git restore --staged filename
-
已经add、commit,尚未push,想撤销此次commit
git reset commit_id //将本地仓库重置为需要撤销的版本 git reset --hard commit_id //强制远程仓库与本地仓库一致
-
撤销git push到远程的代码(慎用)
git reset -hard [commit_id] git push origin -f //撤销commit注释(修改commit注释) 最近一次提交 git commit --amend -m "备注信息" //覆盖上次信息合并为一次提交
出现的问题
问题1:出现yes/no
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null