git(1)——常用的git命令

 使用git工具管理项目有以下特点:

  • 1.分布式开发:个人可以在自己的版本库中独立且同时地开发,不需要与中心时刻同步。
  • 2.规模和性能:为了节约空间和传输时间,需要“压缩”和“差异比较”技术。
  • 3.保持完整性和可靠性。
  • 4.强化责任:git对每一个有文件改动的提交强制使用“改动日志”。
  • 5.不可变性:git版本库中存储的数据对象均为不可变的,一旦创建数据对象并存放于数据库,便不可修改;可以重新创建但原来的并不会被替换。
  • 6.原子事务:一系列相关的操作要么全部执行要么一个都不执行。

 使用下面的指令安装git工具:

sudo apt-get install git git-doc gitweb \
  git-gui gitk git-email git-svn

 使用下面的指令获取代码:

命令 说明 实例
repo init -u -b -m 在当前目录下初始化repo,会在当前目录生成一个.repo目录,类似git project下的.git一样。repo是一系列git project的集合,每个git project下的.git目录中的refs等目录都是链接到.repo/manifests下的。 repo init -u ssh://172.16.**.***/manifest -b 2019-SPF.1.0 -m ***2019_SPF1.03_SM6150_P***_DEV.xml
repo sync -c --no-tags -j4 同步代码到本地。repo sync -xd:强制和远程代码保持一致,类似的命令还有:repo forall -c 'git reset --hard HEAD;git clean -df;git rebase --abort' NA
git clone -b 克隆远程目录,将远程服务器上的仓库完全镜像一份至本地 git clone ssh://172.16.**.***/ARM9/2019-SPF-1.0 -b ***2019_SPF1.03_SM6150_P***_DEV

 使用下面的指令提交代码:

1.1、本地代码和远程分支尽量每天同步

同步:repo sync、git pull -- rebase
清理:repo sync -xd、git clean -xdf

1.2、提交代码不要有遗漏

命令 说明
git status . 这个命令可以显示当前工作目录的状态:哪些文件已被暂存?有哪些未跟踪的文件?哪些文件被修改了等等。
git branch -a 查看当前目录下的所有分支。
git branch -D branch-name 强制删除分支。
git checkout -b branch-name remote-branch-name 在新建分支后直接切换到新建的分支,并和当前的远程分支保持同步。不建议用。
git diff . 查看修改的内容。
git add file 将修改的文件添加至缓存区,.表示当前分支下的全部修改。取消暂存文件是:git reset HEAD file ;若修改了一个文件想还原修改可用:git checkout -- file。
git commit -F commit-log 如果我们提交过后发现有个文件改错了,或者只是想修改提交说明,这时可以对相应文件做出修改,将修改过的文件通过"git add"添加到暂存区,然后执行以下命令:git commit --amend 然后修改提交说明覆盖上次提交,但只能重写最后一次提交。
git push origin HEAD:refs… 将本地修改推送至远程分支,ARM11的提交可以用 repo upload .。
git reset (--hard) commit_id 使本地分支切到commit_id所描述的状态下。

 如果你想要修改自己的提交,执行下面的指令:

git add
git commit --amend
ctrl+x
git push & repo upload .

猜你喜欢

转载自www.cnblogs.com/hansenn/p/12718228.html