git 常用命令

2021-01-13 14:45:19 浏览数 (2981)

一、使用Git克隆项目

右键选择Git Bash Here,先进行配置账号和邮箱
git config --global user.name '账号名'git config --global user.email '邮箱'
接下来进行使用 clone 把项目克隆到本地
git clone HTTP路径/SSH路径
等待进度走完,就可以发现项目已经在本地文件了,这时候已经证明克隆成功。
下面是Git常用的命令,可用于Git初学者参考
查看远程仓库: git remote -v
添加远程仓库: git remote add [name] [url]
删除远程仓库: git remote rm [name]
修改远程仓库: git remote set-url --push[name][newUrl]
拉取远程仓库: git pull [remoteName] [localBranchName]
推送远程仓库: git push [remoteName] [localBranchName]
 

二、Git分支操作常用命令

查看本地分支: git branch
查看远程分支: git branch -r
创建本地分支: git branch [name] ----这时候需要注意使用该命令时新分支创建后不会自动切换为当前分支
切换分支: git checkout [name]
创建新分支并立即切换到新分支: git checkout -b [name]
删除分支: git branch -d [name] ----注意项: -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支: git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程): git push origin [name]
删除远程分支: git push origin :heads/[name]
 

三、Git 提交代码操作常用命令

查看文件状态:git status
添加文件:git add *  ---注意项此处的*是代表全部,如需指定添加可以把*号换做指定文件
提交文件:git commit -m ‘提交描述’  ---此时提交代码还未提交到远程出库去,而是在本地出库的缓冲区
推送文件:git push origin master  ---此处的master是主支,如需要推送到分支可把master换做分支的名称
如想忽略一些文件或文件夹不想提交时,就在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件名或文件夹名,每个文件或每个文件夹占一行,如下列:
文件A
文件B
文件C
即可
 

四、Git版本操作常用命令

查看版本: git tag
创建版本: git tag [name]
删除版本: git tag -d [name]
查看远程版本: git tag -r
创建远程版本(本地版本push到远程): git push origin [name]
删除远程版本: git push origin :refs/tags/[name]
 

五、Git子模板操作常用命令(submodule)

添加子模块: git submodule add [url] [path]
初始化子模块: git submodule init ----注意项:只在首次检出仓库时运行一次就好
更新子模块: git submodule update ----注意项:每次更新或切换分支后都需要运行一下
如需删除子模板则需要以下步骤:
第一在Bash Here中输入 git rm --cached [path]  
第二在 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
第三在 编辑“.git/config”文件,将子模块的相关配置节点删除掉
最后 手动删除子模块残留的目录
 

六、Git删除文件操作常用命令

删除文件: git rm file.txt
提交删除文件: git commit -m "rm file"
推送文件:git push origin master  ---此处的master是主支,如需要推送到分支可把master换做分支的名称
注意:删除命令请谨慎使用
恢复本地被误删除的文件:git checkout -- <file>   --- 将暂存区的文件覆盖本地文件
 

七、Git回滚操作常用命令

查询日志:git log
回滚到某个提交的记录:git reset commit_id
回滚到此次的提交记录:git reset --hard commit_id
强制推送到远端:git push origin HEAD --force
误删恢复时需要回滚到错误 commit_id,或者误删了某次 commit 记录,可以通过下方代码恢复:
git relog     --- 复制要恢复操作的hash值
git reset --hard hash   ---将hash换成要恢复的历史记录的 hash 值
注意:删除某次提交时最好不要用 git reset 回退远程库,因为之后其他人用 git pull 也会把自己的本地仓库回退到之前的版本,容易出现差错进而增加不必要的工作量
git rebase:两个分支不在一条线上,需要执行 merge 操作时使用该命令。
 
如果中间的某次 commit 需要删除,可以通过 git rebase 命令实现,方法如下:
git log
git rebase -i commit_id   ---将 commit_id 替换成复制的值
进入 Vim 编辑模式,将要删除的 commit 前面的 `pick` 改成 `drop`
保存并退出 Vim
 

八、解决冲突操作常用命令

查看冲突内容:git diff
手动解决冲突:git add <file> 或 git add -A
如果还在rebase状态时,可使用git rebase --continue 则重复之前的步骤,直至 rebase 完成出现 applying 字样
最后git push 提交
放弃某次提交:git revert
撤销 merge 节点提交:则需要加上 -m 指令,如git revert commit_id -m '描述'