﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AGaia.clary%2FGitting</id>
	<title>利用者:Gaia.clary/Gitting - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AGaia.clary%2FGitting"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Gaia.clary/Gitting&amp;action=history"/>
	<updated>2026-07-31T03:20:47Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Gaia.clary/Gitting&amp;diff=144893&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Gaia.clary/Gitting&amp;diff=144893&amp;oldid=prev"/>
		<updated>2018-06-28T21:05:29Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 21:05時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Gaia.clary/Gitting&amp;diff=144892&amp;oldid=prev</id>
		<title>2014年1月31日 (金) 09:10にwiki&gt;Gaia.claryによる</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Gaia.clary/Gitting&amp;diff=144892&amp;oldid=prev"/>
		<updated>2014-01-31T09:10:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Preliminaries===&lt;br /&gt;
&lt;br /&gt;
You have checked out the Blender repository and you have claimed write access to the repository. You find the basics in the [[Dev:Doc/Tools/Git|Git for developers]] document.&lt;br /&gt;
&lt;br /&gt;
I am using windows and i have created my repository at &amp;lt;code&amp;gt;D:\blendergit\blender&amp;lt;/code&amp;gt; this is my &amp;quot;working directory&amp;quot;. Of course you will have to use your own path.&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails | + Update your repository to the newest revision |&lt;br /&gt;
&lt;br /&gt;
To ensure you have the most recent version of the blender repository you will want to update your repository as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd D:\blendergit\blender&lt;br /&gt;
git checkout master&lt;br /&gt;
git pull --rebase&lt;br /&gt;
git submodule update --recursive --remote&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First ensure that you are in your working directory (the initial cd command does just that).&amp;lt;br/&amp;gt;&lt;br /&gt;
The first git command ensures that you are now in the main development branch of Blender.&amp;lt;br/&amp;gt;&lt;br /&gt;
The 2nd git command fetches all changes from the blender repository and applies these changes to your repository.&amp;lt;br/&amp;gt;&lt;br /&gt;
And the last git command does the same for all submodules.&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{Template:MoreDetails | + Create a branch for your specific issue |&lt;br /&gt;
&lt;br /&gt;
Lets assume you want to fix a specific Bug report, like for example the report &amp;lt;code&amp;gt;T36395 collada skinning: vertex weights are not read from indices&amp;lt;/code&amp;gt; It probably makes sense to do this fix in a &amp;quot;local area&amp;quot; which is sort of parallel to the main development. So we will create a branch and name it according to the report ID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd D:\blendergit\blender&lt;br /&gt;
git checkout -b T36395&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The git statement creates the branch and checks it out in one step. However you also can create a branch and check it out separately:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd D:\blendergit\blender&lt;br /&gt;
git branch T36395&lt;br /&gt;
git checkout T36395&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both approaches will create the exact same result: You have a new branch and you can go ahead with your work without &amp;quot;disturbing&amp;quot; the main branch.&lt;br /&gt;
&lt;br /&gt;
Hint for svn users: &amp;quot;checkout&amp;quot; does not fetch anything from the blender repository! Remind that you have a full copy of the blender repository on your computer. So the checkout fetches all data from your local disk. furthermore a checkout does only ensure that all files in your &amp;quot;working directory&amp;quot; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails | + Creating snapshots (commit) |&lt;br /&gt;
&lt;br /&gt;
Once in a while you may want to conserve (commit) your work results, even if your patch is not yet ready for pushing it to the blender main branch. This will allow you to revert back to a previous state of your work. For example when you messed up something then you can revert to the last snapshot easily and restart from there. You conserve your work as follows:&lt;br /&gt;
&lt;br /&gt;
Lets say you have changed the file  &amp;lt;code&amp;gt;D:\blendergit\blender\source\blender\collada\collada.cpp&amp;lt;/code&amp;gt; Then you will go ahead as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd D:\blendergit\blender\source\blender\collada&lt;br /&gt;
git add collada.cpp&lt;br /&gt;
git status&lt;br /&gt;
git commit -m &amp;quot;Fixed a call to bmesh API&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first git command tells git that collada.cpp should be added to the next commit.&amp;lt;br/&amp;gt; &lt;br /&gt;
The second git command tells you what files you may have added previously and before you committed the last time.&amp;lt;br/&amp;gt;&lt;br /&gt;
The 3rd git command Creates the snapshot.&lt;br /&gt;
&lt;br /&gt;
Now you have saved a local snapshot of the added files. And whenever you have to revert your work, you just can go back to this snapshot (see below how this can be done)&lt;br /&gt;
&lt;br /&gt;
Note how this is different from &amp;lt;code&amp;gt;svn add&amp;lt;/code&amp;gt;! In git this command does only prepare a file for committing it. Also the commit is performed only in your local repository. Blender's repository is not yet affected in any way by now.&lt;br /&gt;
&lt;br /&gt;
===Tips for working with commit===&lt;br /&gt;
&lt;br /&gt;
Since commit is a local task you actually can commit as often as you like without affecting blender's repository. However when you finally push your work back into the repository, then all your tiny commits will be sent along... unless you take some precautions.&lt;br /&gt;
&lt;br /&gt;
==== fix a fix (Adding to the last commit) ====&lt;br /&gt;
&lt;br /&gt;
Assume you detected that your last commit contains an error and the fix would be a small change only. Now you may want to &amp;quot;fix the commit&amp;quot; instead of adding another commit. Git allows you to amend a commit as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add collada.cpp&lt;br /&gt;
git commit -amend -m &amp;quot;Fixed my previous fix&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus you can achieve that you get only one commit containing your fix.&lt;br /&gt;
&lt;br /&gt;
==== Squash a commit chain ====&lt;br /&gt;
&lt;br /&gt;
assume you have worked on a medium sized fix or feature. Maybe you have done several commits in a line but it makes not much sense (for whichever reason) to preserve the entire commit history of your branch. Git allows you to squash all your commits together into one single &amp;quot;summary commit&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --squash T36395&lt;br /&gt;
git commit -m 'T36395: Fixed reading vertex weights.'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails |  + See the commit history of your work |&lt;br /&gt;
&lt;br /&gt;
You may want to scroll back in time and see some of your previous commits. actually you can jump around to any of your committed versions. But you will need to know the commit revision number to tell git where to step. For this purpose there is git log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default you will get a verbose log which displays the log messages of all commits. Each commit is reported with its commit revision number (the commit hash) in the first row. Followed by Author, Date, and the commit comment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
commit 50fbebe0a443d10b3b5525c9a7e152acc32b4527&lt;br /&gt;
Author: Sergey Sharybin &amp;lt;sergey.vfx@gmail.com&amp;gt;&lt;br /&gt;
Date:   Tue Nov 19 22:01:43 2013 +0600&lt;br /&gt;
&lt;br /&gt;
    Buildinfo fixes&lt;br /&gt;
&lt;br /&gt;
    - Use -M suffix if working tree does have uncommitted&lt;br /&gt;
      modifications.&lt;br /&gt;
    - Local commits are considered local changes as well&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====tricks &amp;amp; Tips=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git log&amp;lt;/code&amp;gt; has a wast amount of options which allow you to format the log output and restrict the output to certain commit versions. here are 2 tricks:&lt;br /&gt;
&lt;br /&gt;
You can tell git to only print one line per commit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --oneline&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the commit hash is now truncated and displayed in the first column of your list. However this truncated hash is sufficient to address the related commit (see next chapter)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
1ea47c9 Code Cleanup: style, spelling and pep8 edits&lt;br /&gt;
780459e Extra unwanted change from the previous commit&lt;br /&gt;
50fbebe0 Buildinfo fixes&lt;br /&gt;
5743a6e Code Cleanup: move trans-verts out of snap code...&lt;br /&gt;
035d864 Fix: tab completing a filepath name in file brow...&lt;br /&gt;
0c0bed3 Fix: Game Engine regression drawing text from re...&lt;br /&gt;
2d8d3f3 Buildbot: update configuration file&lt;br /&gt;
000312a Remove Surface modifier when removing force fiel...&lt;br /&gt;
c566e40 Cleanup: Renamed compositor executePixel functio...&lt;br /&gt;
3c662ef Buildbot: fix path got pack step&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you can tell git to only report the last n commits (10 in the example below):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --oneline -n 10&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails | + Updating your branch from the main repository |&lt;br /&gt;
&lt;br /&gt;
While you work on your issue, other developers may have pushed their recent work to the main branch. You may occasionally (or frequently) want to add these changes to your branch as well. You want to do this to keep your working environment up to date with current development. here is what you will have to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout master; &lt;br /&gt;
git pull;&lt;br /&gt;
git rebase master T36395;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first term will bring you back to the blender master branch.&amp;lt;br/&amp;gt;&lt;br /&gt;
The second term gets the most recent changes from the Blender master repository.&amp;lt;br/&amp;gt;&lt;br /&gt;
The third term moves all changes on master to your own branch and also beams you back into your branch.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By now your branch has all recent changes applied and you can go ahead with your work.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails | + Reverting to a previous status of your work |&lt;br /&gt;
&lt;br /&gt;
Actually you can step to any commit that was ever made in the repository. All you need to know is the commit hash value which you can get from &amp;lt;code&amp;gt;gitlog&amp;lt;/code&amp;gt; (see above). Once you have the correct has, you can simply check it out:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout 50fbebe0; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your directory contains the status of Blender when the requested commit was ...well ...committed&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==to be completed...==&lt;br /&gt;
&lt;br /&gt;
===moving your work into the main branch===&lt;br /&gt;
===Pushing your work to the Blender repository===&lt;br /&gt;
===when something goes wrong (resolving conflicts)===&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails | + arc patch: Get a Differential for review |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout master&lt;br /&gt;
git pull --rebase&lt;br /&gt;
arc patch Dxxx; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The arc command will create a new branch &amp;lt;code&amp;gt;arcpatch-Dxxx&amp;lt;/code&amp;gt; and apply the Dxxx to that branch and checkout the branch.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Template:MoreDetails | + arc land: Accept a patch ... |&lt;br /&gt;
&lt;br /&gt;
After you have tested a branch that was created with arc patch, you can accept the patch and push it to the master branch in one step:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
arc land&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, sometimes &amp;lt;code&amp;gt;arc land&amp;lt;/code&amp;gt; may fail with a message like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Landing current branch 'arcpatch-Dxxx'.&lt;br /&gt;
Switched to branch master. Updating branch...&lt;br /&gt;
The following commit(s) will be landed:&lt;br /&gt;
&lt;br /&gt;
a0a1f2e Fix for Txxxxx&lt;br /&gt;
&lt;br /&gt;
Switched to branch arcpatch-Dxxx. Identifying and merging...&lt;br /&gt;
Usage Exception: arc can not identify which revision exists &lt;br /&gt;
on branch 'arcpatch-Dxxx'. Update the revision with recent &lt;br /&gt;
changes to synchronize the branch name and hashes, &lt;br /&gt;
or use 'arc amend' to amend the commit message at HEAD, &lt;br /&gt;
or use '--revision &amp;lt;id&amp;gt;' to select a revision explicitly.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a workaround for this situation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch master&lt;br /&gt;
git pull --rebase&lt;br /&gt;
git branch arcpatch-Dxxx&lt;br /&gt;
arc land --hold --revision Dxxx&lt;br /&gt;
git push&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
actually you only need the last 2 commands. The first 3 commands are just to be sure you commit on the most recent version of master&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>wiki&gt;Gaia.clary</name></author>
		
	</entry>
</feed>