使用git进行代码管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caobcn/article/details/80687193

git

安装git

sudo apt-get install git

初始化仓库(repository)

git init

提交更改到暂存区

git add 'filename'

提交更改到版本库

git commit -m 'commit describe'

撤销更改

# 未提交至暂存区
git checkout -- 'filename' #未git add之前,撤销对‘filename’文件的修改
# 已经有git add 提交至暂存区,未git commit
git reset HEAD 'filename' # 撤销提交到暂存区的修改,重新放回工作区
git checkout -- 'filename' 

删除文件

rm 'filename'
git rm 'filename'
git commit -m 'commit describe'

误删找回

git checkout -- ‘filename’ # 删除filename后未提交至版本库之前,恢复文件,但是只能找回文件在版本库中的状态。上次提交后到删除前的修改丢失。

版本回退

git reset --hard HEAD^ # 回退至上一个版本
git reset --hard HEAD^^ # 回退至倒数第二个版本
git reset --hard HEAD~100 # 回退至倒数第100个版本

git reset --hard ‘commit id’ # 回退至某个’commit id‘的版本

查看版本库状态

git log
git log --pretty=oneline # 简洁
git log --graph --pretty=oneline --abbrv-commit

查看命令操作记录

git reflog

远程仓库

创建SSH Key

ssh-keygen -t rsa -C "youremail@example.com"

将.ssh文件夹下的id_rsa.pub中的内容加入github的SSH Key

关联本地仓库与远程仓库,git默认远程仓库名字是origin

git remote add origin git@github.com:yourgithubname/repoName.git

将本地所有内容推送至空的远程仓库

git push -u origin master

git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了‘-u’参数,Git不但会把本地的master分支内容推送的远程的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git push origin master

把本地master分支推送至远程仓库

从远程仓库clone一个本地库

git clone git@github.com:gihubname/repoName.git

关于分支的介绍

创建分支

$ git checkout -b dev # 创建dev分支,然后切换到dev分支

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch dev
$ git checkout dev

切换到另一个分支

git checkout 'branchName'

合并分支,合并branchName到当前分支

git merge 'branchName'

合并分支,并禁用fast forward,并保留合并这一操作的commit describe

git merge --no-ff -m 'commit describe' 'branchName'

删除分支

git branch -d 'branchName'

临时保存工作现场

git stash

恢复工作现场

git stash apply # 不删除stash
git stash pop # 恢复的同时,删除stash

查看暂存的工作现场

git stash list

多次stash,恢复某个暂存的现场

git stash apply stash@{0/1/...}

查看远程仓库信息

git remote
git remote -V

解决其他人的提交与自己提交有冲突的问题

若没有建立本地仓库与远程仓库的链接,则首先建立链接

git branch --set-upstream-to=origin/remoteBranchName localBranchName

拉取最新的远端分支

git pull

此时,本地文件会提示错误,手动修改错误,并再次提交git commit,并推送 git push

打标签

为commit describe 打上标签,更加容易记住

git tag 'tagName'

多个远端仓库

git remote add anotherOriginName git@git.coding.net:codingName/repoName.git
阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页