美文网首页
Git 常用命令(2018-03-30)

Git 常用命令(2018-03-30)

作者: 小的小碰撞 | 来源:发表于2018-04-04 15:38 被阅读0次

参考廖雪峰的官方网站

常用命令

  • mkdir 创建目录
mkdir test
  • pwd命令用于显示当前目录
  • 返回上一级目录cd ..

git 本地仓库关联远程仓库

  • 使用命令git remote add origin git@server-name:path/repo-name.git
    • origin git@server-name:path/repo-name.git 改换成自己远程仓库的路径
  • git fetch 查询分支
  • git branch --set-upstream-to=origin/remote_branch your_branch
    • 其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。
  • (执行之上不能解决 在执行此)关联第一次推送master分支所有内容使用:git push -u origin master
  • 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
  • 注: 如果出现如下错误
[root@linux1 php]# git push -u origin master  
To git@github.com:kangvcar/Results-Systems--PHP.git  
 ! [rejected]        master -> master (fetch first)  
error: failed to push some refs to 'git@github.com:kangvcar/Results-Systems--PHP.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing 
hint: to the same ref. You may want to first merge the remote changes (e.g.,  
hint: 'git pull') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


  • 原因:GitHub远程仓库中的README.md文件不在本地仓库中。
  • 使用--rebase 参数然后再重新 push 一次即可
git pull --rebase origin master 
git push -u origin master
或者
git push -f  

git 常用命令

git init

//配置信息
git config user.name manage
git config user.email manage@163.com

//添加项目
git add .

// 提交项目
git commit -m "注释"

// 推送 下拉 项目
git push
git pull

//查看所有版本库日志
git log
git reflog


版本合并

  • git merge 命令用于合并指定分支到当前分支。
  • --no-ff 表示禁用Fast forward
git merge 

Fast forward 模式,表示删除分之后,会丢掉分支信息。
如果要强制禁用Fast forward 模式,Git 就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

// 第二种合并分支的方法
git merge --no-ff -m "merge with no-ff" dev
-m 参数表示 提交的内容  dev 代表的分支
准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:

删除本地分支

  • git branch -d 分支名

拉取远程分支并创建本地分支

git checkout -b 本地分支名 origin/远程分支名

版本回退

//回到当前版本,放弃所有没有提交的修改
git reset --hard HEAD

//回到上一个版本
git reset -- hard HEAD^

// 回到之前第3个版本
git reset --hard HEAD~(3)

// 回到指定版本
git reset --hard 版本号

回到根目录 查看所有分支

cd ~

git branch -a

Git忽略规则和.gitignore规则不生效的解决办法

  • Git忽略规则:
    在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

#此为注释 – 将被 Git 忽略

*.sample    # 忽略所有 .sample 结尾的文件
!lib.sample    # 但 lib.sample 除外
/TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

  • .gitignore规则不生效的解决办法
    把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'

相关文章

网友评论

      本文标题:Git 常用命令(2018-03-30)

      本文链接:https://www.haomeiwen.com/subject/juxicftx.html