Git简明教程

本文主要介绍Git的一些常用命令,如创建分支、分支合并、代码回滚、设置忽略文件等。
Git的工作原理不在本文的介绍范围之内,如果你在使用过过程中有任何疑问问题,可以在文章下面留言。如果你想要了解Git的工作原理,可以查看这篇文章http://www.bootcss.com/p/git-guide/

  1. 查看以及修改用户信息
    查看
git config user.name
git config user.emai

修改

git config –global user.name ‘yourname’
git config –global user.email ‘youremail’ 

2.创建工作并提交到master
首先你在GitHub或者GitLab等代码托管平台创建你自己的项目
然后执行下面的命令

cd existing_folder
git init
git remote add origin username@host:/path/to/repository //替换为自己的地址
git add .
git commit -m "Initial commit"
git push -u origin master

3..clone 一个工程

cd existing_folder
git clone username@host:/path/to/repository //替换为要克隆的工程地址

4.查看本地分支

git branch

5.创建分支,并切换到该分支上
注意执行下面命令前,要先提交当前分支的改动

git checkout -b dev

6.提交你的改动

git add .
git commit -m “修改信息” 
git push origin branchName  //提交代码到该分支

7.分支切换
注意执行下面命令前,要先提交当前分支的改动

git checkout branchName

8.多人协作时,合并代码到master的流程

1. 先将本地代码推送到自己的远程分支
2. git pull origin master //拉取远程代码,并合并到自己的分支上
3. 如果有冲突,解决完。用use "git add/rm <filename>..." as appropriate to mark resolution标记
4. 在提交到自己的远程,然后提merge request就好了!

9.查看当前分支的工作状态

git status  

10.拉取远程分支代码
在使用git clone 命令时,拉取到的是master上的代码,如果想要获取分支上的代码,可以执行下面的代码

git branch -a  //查看远程分支
git branch //查看本地分支
git checkout -b remoteBranchName origin/remoteBranchName

11.代码回滚
本地代码回滚
找到想要回到的版本的commitId,执行下面的命令

git reset —hard commitId

远程代码回滚
先找到想要回滚的版本之前一次的commitId,执行下面的命令

1. git reset —hard commitId
2. git push origin branchName --force

12.添加忽略文件
我们先看下GitHub是怎么说的
We recommend every repository include a README, LICENSE, and .gitignore.
可以看到GitHub是推荐每一个代码仓库都包含一个.gitignore文件的。
为什么是这个样子呢?
以XCode 为例,如果没有这个文件,那么你的每一次commit都有UserInterfaceState.xcuserstate这些东西,而这些东西是每次提交、每个用户都不相同的,所以非常容易导致冲突。
如何解决?
以下三步每一步都必不可少,并且要按照顺序执行

  • 将xcuserstate,xcuserdata等文件从git的管理中移除
git rm --cached *.xcuserstate
git rm --cached *.xcuserdata
  • 创建.gitignore
vim .gitignore
  • 添加必要的忽略文件
    到工程下找到.gitignore文件,通过文本编辑器打开,如果没有找到设置显示隐藏文件。添加以下内容
.DS_Store
.DS_Store?
*.xcuserstate
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate

推荐阅读更多精彩内容

  • Git简明教程 1. git四大域 git四大域:工作目录,暂存区,仓库,远程仓库。git对文件的操作都是在四大域...
    lavor阅读 9,531评论 27 436
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 12,089评论 5 140
  • 作为夏日最常见的单品,衬衫一直在百搭榜尚列前排春,而夏季也是短裙的主场当道,尤其是裙装搭配衬衫&T恤,露出修长的腿...
    西街旧巷的老猫l阅读 89评论 0 0
  • 1.为了钱而选择的工作,对身体伤害比较大,若干年后,身体会把你这笔支出要回来。想要的越多,付出的就得更多。...
    你女末阅读 38评论 0 0
  • 梦见也在搞视力养护,我神气的去他那里看。(有一种骄傲的感觉),好像都遇到难题了,就是关于近视提升的(着急) 第二个...
    健男三顺阅读 22评论 0 0